home *** CD-ROM | disk | FTP | other *** search
/ Aminet 39 / Aminet 39 (2000)(Schatztruhe)[!][Oct 2000].iso / Aminet / biz / swood / FW_AllInOne.lha / Makros / TabSpalte.long < prev    next >
Text File  |  1998-01-17  |  7KB  |  236 lines

  1. /* Spaltenbreite ändern
  2.    0.1beta - 04.12.97 
  3.    0.2beta - 09.12.97
  4.    0.3beta - 25.12.97*/
  5.  
  6. Parse ARG FW
  7.  
  8. if ~show('L',"rexxreqtools.library") then
  9.    if ~addlib('rexxreqtools.library',0,-30,0) then do
  10.       ShowMessage 1 1 '"Fehler...." "Benötige Libs:rexxreqtools.library" " A B B R U C H ! !" "Okay" "" ""'
  11.       exit
  12.    end
  13.  
  14. IF ~show('L','tritonrexx.library') then
  15.    IF ~ADDLIB('tritonrexx.library',10,-30,0) THEN DO
  16.       ShowMessage 2 1 '"Fehler...." "Benötige Libs:tritonrexx.library" "" "Abbruch" "" ""'
  17.       exit
  18.    END
  19.  
  20. R='0A'X
  21. SIGNAL ON SYNTAX
  22.  
  23. If FW='' then do
  24.    Address='FinalW'
  25.    Options results
  26.  
  27.    STATUS PORTNAME
  28.    FW = result
  29. End
  30.    address(FW)
  31.  
  32. If open('Hilfe',"S:FW_Paket.prefs","R") then do    /* Hilfe-Verzeichnis */
  33.    HilfeVerz=readln('Hilfe')
  34.    Call Close('Hilfe')
  35. End
  36. else HilfeVerz=''
  37.  
  38. apptags = 'TRCA_Name     SpaltenBreite',
  39.           'TRCA_LongName "Spaltenbreite ändern"',
  40.           'TRCA_Info     "für FinalWriter"',
  41.           'TRCA_Version  "1.0 registered"',
  42.           'TRCA_Release  "1"',
  43.           'TRCA_Date     "09.01.98"',
  44.           'TAG_END'
  45.  
  46. /*******************************************************************************
  47. ** Aufbau der GUI
  48. *******************************************************************************/
  49.  
  50. windowtags = WindowID(1),
  51.              WindowPosition('TRWP_CENTERDISPLAY'),
  52.              WindowFlags('TRWF_NOMINTEXTWIDTH|TRWF_NOSIZEGADGET'),
  53.              PubScreenName('FinalWriterPubScreen'),
  54.              WindowTitle("Spaltenbreite"),
  55.              BeginMenu('Projekt'),
  56.                 MenuItem('Q_Verlassen',104),
  57.              BeginMenu('?'),
  58.                 MenuItem('?_Info',101),
  59.                 MenuItem('H_Hilfe',103),
  60.              'HorizGroupAC SpaceS',
  61.                 'VertGroupAC SpaceS',
  62.                    'SpaceS',
  63.                    'HorizGroupEAC',
  64.                       TextID('_Spalte:',4),
  65.                       'SpaceS',
  66.                       StringGadget("",4),
  67.                       CheckBox(5),
  68.                    'EndGroup',
  69.                    'SpaceS',
  70.                    'HorizGroupEAC',
  71.                       TextID('B_reite:',3),
  72.                       'SpaceS',
  73.                       StringGadget("",3),
  74.                       'SpaceS',
  75.                       TextN('cm'),
  76.                    'EndGroup',
  77.                    'SpaceS',
  78.                    'HorizSeparator',
  79.                    'SpaceS',
  80.                    'HorizgroupEC',
  81.                       Button('_Anwenden',1),
  82.                       'SpaceS',
  83.                       Button('Ab_bruch',2),
  84.                    'EndGroup SpaceS',
  85.                 'EndGroup SpaceS',
  86.              'EndGroup SpaceS',
  87.           'EndProject'
  88.  
  89. app = TR_CREATEAPP('TRCA_Name DBImport')
  90.  
  91. /*******************************************************************************
  92. ** Abfrage der GUI
  93. *******************************************************************************/
  94.  
  95. IF app ~= '00000000'x THEN DO
  96.    window1 = TR_OPENPROJECT(app,windowtags)
  97.    IF window1 ~= '00000000'x THEN DO
  98.       ende = 0
  99.  
  100.       DO WHILE ~ende
  101.          CALL TR_WAIT(app,'')
  102.  
  103.          DO WHILE TR_HANDLEMSG(app,'event')
  104.             IF event.trm_class = 'TRMS_CLOSEWINDOW' THEN ende=1
  105.  
  106.             IF event.trm_class = 'TRMS_NEWVALUE' THEN DO
  107.                SELECT
  108.                   WHEN event.trm_id = 5 THEN Call Uebernahme   /*Spaltenübernahme*/
  109.  
  110.                   OTHERWISE NOP
  111.                END
  112.             End
  113.             IF event.trm_class = 'TRMS_ACTION' THEN DO
  114.                SELECT
  115.                   WHEN event.trm_id = 1 THEN Call program      /*starten*/
  116.                   WHEN event.trm_id = 2 THEN ende=1            /*ende*/
  117.  
  118.                   WHEN event.trm_id = 101 THEN Call rtezrequest("Aus dem Makro-Paket:"||R||R||"Spaltenbreite ändern V1.0 für FW"||R||"© 1998 Heiko Schröder","Danke für Ihre Registrierung.","Info","rt_pubscrname=FinalWriterPubScreen")
  119.                   WHEN event.trm_id = 103 THEN address command "run Multiview PUBSCREEN=FinalWriterPubScreen "||d2c(34)||HilfeVerz||"Tabspalte.guide"||d2c(34)
  120.                   WHEN event.trm_id = 104 THEN ende=1
  121.  
  122.                   OTHERWISE NOP
  123.                END
  124.             END
  125.          END
  126.       END
  127.       CALL TR_CLOSEPROJECT(window1)
  128.    END
  129.    CALL TR_DELETEAPP(app)
  130. END
  131. ELSE
  132.    CALL quit('Kann das Fenster nicht öffnen',10)
  133.  
  134. Exit
  135.  
  136. program:
  137.  
  138.    FirstObject Selected
  139.    ID=result
  140.    If ID=0 then do
  141.       'ShowMessage 1 0 "Bitte vorher die entsprechende Tabelle auswählen..." "" ""
  142.       "Okay" "" ""'
  143.       Return
  144.    End
  145.  
  146.    GetObjectType ID
  147.    If result~=11 then do
  148.       'ShowMessage 1 0 "Dieses Makro bezieht sich nur auf Tabellen." "" ""
  149.       "Okay" "" ""'
  150.       Return
  151.    End
  152.  
  153.    GetTablePrefs COLUMNS
  154.    SpaltenAnzahl=result
  155.    Spalte = TR_GETATTRIBUTE(window1,4,'TROB_String')
  156.    Select
  157.       When (Spalte>SpaltenAnzahl | Spalte<1) then do
  158.          ShowMessage 1 1 '"Falsche Eingabe:" "Spalte: 'Spalte' gibt es nicht!" "" "Okay" "" ""'
  159.          Call TR_SendMessage(window1,4,'TROM_ACTIVATE',0)
  160.          Return
  161.       End
  162.       Otherwise NOP
  163.    End
  164.  
  165.    Breite = TR_GETATTRIBUTE(window1,3,'TROB_String')
  166.    Select
  167.       When Datatype(Breite,'N')=0 then do
  168.          ShowMessage 1 1 '"Bitte numerische Angabe mit (.)" "" "" 
  169.          "Okay" "" ""'
  170.          Call TR_SendMessage(window1,3,'TROM_ACTIVATE',0)
  171.          Return
  172.       end
  173.       When Breite<0.64 then do
  174.          ShowMessage 1 1 '"Zu niedrige Breite!" "Sie muß laut FinalWriter mindestens 0.64cm betragen." ""
  175.          "Okay" "" ""'
  176.          Call TR_SendMessage(window1,3,'TROM_ACTIVATE',0)
  177.          Return
  178.       End
  179.       Otherwise NOP
  180.    End
  181.  
  182.    GetDocItemPrefs Decimal
  183.    Punkt=Result
  184.    If Punkt="Comma" then DocItemPrefs Decimal Period
  185.  
  186. say spalte
  187.    TableSetColumnWidth Spalte Breite
  188.    Redraw
  189.    If Punkt="Comma" then DocItemPrefs Decimal Comma
  190. Return
  191.  
  192. Uebernahme:
  193.    TableGetActiveCell
  194.    If Words(result)=2 then do
  195.       Spalte=word(result,2)
  196.  
  197.       TableGetColumnWidth Spalte
  198.       Breite=result
  199.       Call TR_SETATTRIBUTE(window1,4,'TROB_STRING',Spalte)
  200.       Call TR_SETATTRIBUTE(window1,3,'TROB_STRING',Breite)
  201.    End
  202.    Call TR_SETATTRIBUTE(window1,5,'TRAT_VALUE',0)
  203. Return
  204.  
  205. /*******************************************************************************
  206. ** Routine, die bei einer Unterbrechung des Scripts aufgerufen wird
  207. *******************************************************************************/
  208.  
  209. SYNTAX:
  210.    CALL quit('Fehler' rc 'in Zeile' sigl '-' ERRORTEXT(rc)||R||SOURCELINE(sigl)||R||'Bitte informieren Sie den Autor...',20)
  211.  
  212. /*******************************************************************************
  213. ** Script beenden
  214. *******************************************************************************/
  215.  
  216. quit:
  217.    PARSE ARG message,rcode
  218.  
  219.    IF app ~= '00000000'x THEN DO
  220.       IF message ~= '' THEN
  221.          ret=rtezrequest(message,"_Okay","ACHTUNG!","rt_pubscrname=FinalWriterPubScreen")
  222.  
  223.       CALL TR_DELETEAPP(app)
  224.    END
  225.    ELSE
  226.       IF message ~= '' THEN DO
  227.          SAY message
  228.          SAY
  229.          OPTIONS PROMPT 'Bitte <RETURN> drücken'
  230.          PULL taste
  231.       END
  232.  
  233.    address command "flushtrx all"
  234.    EXIT(rcode)
  235.  
  236.